package com.erdos.upc.service;

import java.util.Map;

import com.erdos.common.service.BaseService;
import com.erdos.upc.entity.SecurityRole;
import com.erdos.upc.entity.User;

public interface UserService extends BaseService<User> {
	/**
	 * 完成创建用户对象和用户组关联的创建
	 */
	public Long insert(User user);

	/**
	 * 更新用户对象和用户组关联记录
	 */
	public void update(User user);
	/**
	 * 检测传入的员工号是否已存在 true=已存在 false=不存在
	 * @param pin
	 * @return
	 */
	public boolean checkPinExist(String sid,String pin);
	/**
	 * 检测传入的邮件是否已存在 true=已存在 false=不存在
	 * @param email
	 * @return
	 */
	public boolean checkEmailExist(String sid,String email);
	
	/**
	 * 根据登录帐号获取用户信息
	 * @param pin
	 * @return
	 * @author xiali2
	 * @since  2008-8-14
	 */
	public User findUserByPin(String pin);
	
	/**
	 * 通过用户名，密码，用户组查询用户信息
	 * @param params
	 * @return
	 * @author luhui
	 * @since  2008-9-23
	 */
	public User findUserByUserNameUserGP(Map<String, Object> params);
	/**
	 * 插入安全角色关联记录
	 * auther: ZhongHui-Zhang
	 */
	public  void insertSecurityRole(User user,SecurityRole role);
	/**
	 * delete 工厂安全角色
	 * @param userSid 
	 * @return
	 * @author le
	 * @since  2009-4-27
	 */
	public void deleteSecRoleByUserSidAndsecSid(Long userSid,Long securitySid);
	
	public void updateSecurityRoles(User user);
}
